package cn.design.realize;

/**
 * @author dlq
 * @description 具体的修饰为： 衣服的装饰 之 胸针
 * @date 2020/9/18 14:19
 * @since 1.0
 */
public class BroochClothesDecorator extends ClothesDecorator{

    public BroochClothesDecorator(ClothesComponent clothesComponent) {
        super(clothesComponent);
    }

    /**
     * @description
     *        这里为什么要重写方法:
     *               这是一个具体的组件类 : 我要给衣服 按上 胸针，必然是在修改衣服的时候(或者是生产衣服或者对衣服其他操作)的过程中按上这个胸针的，
     *               即在在修改衣服的时候(或者是生产衣服或者对衣服其他操作)这件衣服的时候，给衣服安装(修饰)胸针
     * @param
     * @return cn.design.realize.TxConcreteClothesComponent
     * @author dlq
     * @date 2020/9/18 14:22
     */
    @Override
    public TxConcreteClothesComponent produceClothes() {
        //这里可想象成一个赋值一样的操作
        addBrooch();
        return clothesComponent.produceClothes();
    }


    private void addBrooch() {
        System.out.println("..添加胸针...");
    }
}
